xsplice: Add support for exception tables.
authorRoss Lagerwall <ross.lagerwall@citrix.com>
Wed, 20 Apr 2016 20:20:26 +0000 (16:20 -0400)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Fri, 29 Apr 2016 07:58:55 +0000 (03:58 -0400)
commited8897661d35853955ab2571eda5bbf060c57766
tree69c8c5f187e90c9cc4a27dc888b4308cdc669613
parentb3de9fb745318484c8ebd8c676ab24a0a3bd5483
xsplice: Add support for exception tables.

Add support for exception tables contained within xSplice payloads. If an
exception occurs search either the main exception table or a particular
active payload's exception table depending on the instruction pointer.

Also we add an test-case to make sure we have an exception that
is handled.

To not grow the code-base if xSplice is not compiled in we add
certain #define to help in determining if code needs to be __init
or not.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
xen/arch/x86/extable.c
xen/arch/x86/test/xen_hello_world_func.c
xen/common/xsplice.c
xen/include/asm-x86/uaccess.h
xen/include/xen/xsplice.h